#include "Searcher.h"

Searcher::Searcher()
{
	loadSignatures();
}

Searcher::~Searcher()
{
}

void Searcher::loadSignatures()
{
	const string sigfile="/opt/swaf/conf/signatures.txt";
	ifstream inFile;
	string signature;
	int index;
	try
	{
		inFile.open((sigfile.c_str()));
		if (!inFile.is_open())
		{
			throw "Failed to open Signatures file!!!";
		}
		while (inFile >> signature)
		{
			_signatures.push_back(signature);
		}

		inFile.close();
	}
	catch(const char *e)
	{
	        cout <<"\nError --> "<<e<<endl;
			cout <<"Check signatures file: "<<sigfile<<"\n"<<endl;
			exit(1);
	}
}


//===========================================================================
//
//  getMatchedSignature()
//
//
string Searcher::getMatchedSignature(int i)
{
	return _signatures[i];
}

//===========================================================================
//
//  printSignatures()
//
//
void Searcher::printSignatures()
{
	vector<string>::iterator itr;
	for(itr = _signatures.begin(); itr != _signatures.end(); ++itr)
	{
		cout<<(*itr)<<endl;
	}
}













